//app.js
const Api = require('./utils/api.js')
App({
    onLaunch: function() {
        let _this = this;
        // 小程序主动更新
        _this.updateManager();
        //wx.clearStorage()
        _this.userInfo = wx.getStorageSync('userInfo');
        wx.getSetting({
            success(res) {
                console.log(res.authSetting)
                //本来用于更新token 
                //if (res.authSetting['scope.userInfo']) _this.login();
                // res.authSetting = {
                //   "scope.userInfo": true,
                //   "scope.userLocation": true
                // }
            }
        })
    },

    //在获得了用户信息授权后发起登陆,防止本地的storage存储的密钥失败
    login() {
        
        wx.login({
            success: function(ret) {
                console.log(this);
                //wx.setStorageSync('wx_code', ret.code);
                wx.getUserInfo({
                    lang: "zh_CN",
                    success: (res) => {
                        console.log(this);
                        Api.auth(res.encryptedData, res.iv, ret.code)
                            .then(result => {
                                console.log(result.data);
                                wx.hideLoading()
                                App.globalData.userInfo = result.data.data.userInfo;
                                _this.userInfo = result.data.data.userInfo;
                                wx.setStorageSync("userInfo", result.data.data.userInfo);
                                wx.setStorageSync("token", result.data.data.token);
                                wx.setStorageSync("signature", result.data.data.signature);
                                wx.setStorageSync("usertype", result.data.data.userInfo.usertype);
                                // 0:茶企业 1:茶弄 2:茶工 3:未确定
                                //_this.navigateBack();
                            })
                    }
                })
            }
        });
    },
    /**
     * 小程序主动更新
     */
    updateManager() {
        if (!wx.canIUse('getUpdateManager')) {
            return false;
        }
        const updateManager = wx.getUpdateManager();
        updateManager.onCheckForUpdate(function(res) {
            // 请求完新版本信息的回调
            // console.log(res.hasUpdate)
        });
        updateManager.onUpdateReady(function() {
            wx.showModal({
                title: '更新提示',
                content: '新版本已经准备好，即将重启应用',
                showCancel: false,
                success(res) {
                    if (res.confirm) {
                        // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
                        updateManager.applyUpdate()
                    }
                }
            });
        });
        updateManager.onUpdateFailed(function() {
            // 新的版本下载失败
            wx.showModal({
                title: '更新提示',
                content: '新版本下载失败',
                showCancel: false
            })
        });
    },

    globalData: {
        userInfo: null
    }
})